package com.jfs.zlk.service;


import com.jfs.zlk.config.ZlkMediaServerInfo;
import com.jfs.zlk.entity.StreamInfo;
import com.jfs.zlk.entity.request.IsMediaOnline;
import com.jfs.zlk.entity.request.RequestOpenRtpServer;
import com.jfs.zlk.entity.request.RequestSetServerConfig;
import com.jfs.zlk.entity.response.ResponseOpenRtpServer;
import com.jfs.zlk.entity.response.ResponseSetServerConfig;

/**
 * @Description 流媒体服务接口
 * @E-mail cwm3412638@163.com
 * @Author cwm
 * @Date 2022/7/27
 */
public interface ZlkMediaServerService {
    /**
     * 获取服务器配置
     *
     * @return
     */
    ZlkMediaServerInfo getServerConfig();

    /**
     * 创建GB28181 RTP接收端口
     *
     * @param requestOpenRtpServer
     * @return
     */
    ResponseOpenRtpServer openRtpServer(RequestOpenRtpServer requestOpenRtpServer);

    /**
     * 设置服务器配置
     */
    ResponseSetServerConfig setServerConfig(RequestSetServerConfig requestSetServerConfig);

    /**
     * 获取注册流媒体播放url信息
     *
     * @param appId
     * @param streamId
     * @return
     */
    StreamInfo getMedia(ZlkMediaServerInfo zlkMediaServerInfo, String appId, String streamId);
    /**
     * 判断当前直播流是否在线
     * @param isMediaOnline
     * @return
     */
    Boolean isMediaOnline(IsMediaOnline isMediaOnline);
}
